package turtle;

public class Ersetzung {
  public static void main(String[] args){
    Turtle erika=new Turtle();
    erika.setView(500, -500, .5);
    turtlebefehle(erika);
    Turtle.show();
  }

  public static void turtlebefehle(Turtle t){
    sierpinski(t, "SS", 4);
    //drache(t,"O",11);
  }

  public static void sierpinski(Turtle t, String weg, int n){
    for(int i=0; i<weg.length(); ++i)
      switch(weg.charAt(i)){
        case 'S':
          if(n==0){
            t.turn(90); t.line(20); t.turn(90); t.line(20);
          } else sierpinski(t,"STST", n-1);
          break;
        case 'T':
          if(n==0){
            t.turn(-90); t.line(20); t.turn(-90); t.line(20); t.turn(90); t.line(20);
          } else sierpinski(t,"TTST", n-1);
          break;
      }
  }

  public static void drache(Turtle t, String weg, int n){
    for(int i=0; i<weg.length(); ++i)
      switch(weg.charAt(i)){
        case 'O':
          if(n==0){
            t.turnTo(0); t.line(20);
          } else drache(t,"ON", n-1);
          break;
        case 'N':
          if(n==0){
            t.turnTo(90); t.line(20);
          } else drache(t,"WN", n-1);
          break;
        case 'S':
          if(n==0){
            t.turnTo(270); t.line(20);
          } else drache(t,"OS", n-1);
          break;
        case 'W':
          if(n==0){
            t.turnTo(180); t.line(20);
          } else drache(t,"WS", n-1);
          break;
      }
  }
}
